Win32NASM Quick Reference

HLL constructs
    switch
        case <value 1>, <value 2>, ..., <value n>
            break
        caseand <value 1>, <value 2>, ..., <value n>
            break
        range <lower bound 1>, <upper bound 1>, <lower bound 2>, <upper bound 2>, ..., <lower bound n>, <upper bound n>
            break
        rangeand <lower bound 1>, <upper bound 1>, <lower bound 2>, <upper bound 2>, ..., <lower bound n>, <upper bound n>
            break
        default
    switchend

    if <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>
    else
    endif
    ifand <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>
    else
    endif

    for <loop variable>, <initial variable count>, <comparison operator>, <value to compare loop variable to>, <step>
    next

    while <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>
    wend
    whileand <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>
    wend

    repeat
    until <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>
    repeat
    untiland <value 1a>, <comparison operator>, <value 1b>, <value 2a>, <comparison operator>, <value 2b>, ..., <value na>, <comparison operator>, <value nb>

    proc <proc name>, <parameter 1 name>, <parameter 2 name>, ..., <parameter n name>
        dblocal <local byte name 1>, <local byte name 2>, ..., <local byte name n>
        dwlocal <local word name 1>, <local word name 2>, ..., <local word name n>
        ddlocal <local dword name 1>, <local dword name 2>, ..., <local dword name n>
        dqlocal <local qword name 1>, <local qword name 2>, ..., <local qword name n>
        dbstatic <static byte name 1>, <static byte name 2>, ..., <static byte name n>
        dwstatic <static word name 1>, <static word name 2>, ..., <static word name n>
        ddstatic <static dword name 1>, <static dword name 2>, ..., <static dword name n>
        dqstatic <static qword name 1>, <static qword name 2>, ..., <static qword name n>
        dbglobal <global byte name 1>, <global byte name 2>, ..., <global byte name n>
        dwglobal <global word name 1>, <global word name 2>, ..., <global word name n>
        ddglobal <global dword name 1>, <global dword name 2>, ..., <global dword name n>
        dqglobal <global qword name 1>, <global qword name 2>, ..., <global qword name n>
        struclocal <local structure name 1>, <structure>, ..., <local structure name n>, <structure>
        strucstatic <static structure name 1>, <structure>, ..., <static structure name n>, <structure>
        strucglobal <global structure name 1>, <structure>, ..., <global structure name n>, <structure>
        bufflocal <local buffer name 1>, <buffer size (bytes)>, ... <local buffer name n>, <buffer size (bytes)>
        buffstatic <static buffer name 1>, <buffer size (bytes)>, ... <static buffer name n>, <buffer size (bytes)>
        buffglobal <global buffer name 1>, <buffer size (bytes)>, ... <global buffer name n>, <buffer size (bytes)>
        endlocals
        TEXTlocal <local string name>, <string to declare>
    endproc

    debug <formatted string, as per printf>, <parameter 1 for string>, <parameter 2 for string>, ..., <parameter n for string>

String
    TEXT        <string to declare>
    TEXTAL      <string to declare, padding end of string to next dword boundary>
    TEXTglobal  <global string name>, <string to declare>
    TEXTRES     <number of characters to reserve space for (in BSS section)>
    CHARSIZE    Size (in bytes) of a single character

Structure
    USTRUC  <structure name to reserve space for (in BSS section)>

Class names
    _szClassNameButton     Button control
    _szClassNameCombobox   Combobox control
    _szClassNameEdit       Edit control
    _szClassNameListbox    Listbox control
    _szClassNameScrollbar  Scrollbar control
    _szClassNameStatic     Static control

Windows.inc defines to include particular Win32 constants, etc
    _WINNT_
    _WINERROR_
    _WINMESSAGES_
    _WINACCESSIBILITY_
    _WINCOLOR_
    _WINCONSOLE_
    _WINCLIPBOARD_
    _WINDDE_
    _WINDEBUG_
    _WINDEVCAPS_
    _WINESCAPES_
    _WINEVENTS_
    _WINFONTS_
    _WINHELP_
    _WINHOOK_
    _WINIMAGES_
    _WINIME_
    _WINIO_
    _WINMDI_
    _WINMETAFILES_
    _WINNETWORK_
    _WINNLS_
    _WINOEMRESOURCE_
    _WINOPENGL_
    _WINPERFMON_
    _WINPRINTER_
    _WINPROCESS_
    _WINREGISTRY_
    _WINSECURITY_
    _WINSERVICES_
    _WINSHELL_
    _WINSYSTEM_
    _WINVER_
    _WINVKEYS_

API calling macros
    api     <function name>, <parameter 1>, <parameter 2>, ..., <parameter n>
    invoke  <function name>, <parameter 1>, <parameter 2>, ..., <parameter n>
    sc      <function name>, <parameter 1>, <parameter 2>, ..., <parameter n>
    stdcall <function name>, <parameter 1>, <parameter 2>, ..., <parameter n>

Prologue / Epilogue macros
    WinMainPrologue
    WinMainEpilogue
    CallbackPrologue
    CallbackEpilogue
    LibMainPrologue
    LibMainEpilogue
    ThreadPrologue
    ThreadEpilogue
